package gen

import "gitee.com/dreamwood/ez-go/maker"

func FLow() {
	doc := maker.CreateDoc("Flow", "流程", "flow")
	doc.Add("name", "流程名称").IsString()
	//doc.Add("points", "节点").IsJoinO2M("FlowPoint", "id", "flowId")
	doc.Add("points", "节点").IsAny("[]*FLowPoint")
	doc.Generate()
}
func FLowPoint() {
	doc := maker.CreateDoc("FlowPoint", "流程节点", "flow")
	doc.Add("name", "节点名称").IsString()
	doc.Add("flow", "所属流程").IsJoinM2O("Flow")
	doc.Add("step", "阶段").IsInt()
	doc.Add("index", "排序").IsInt()
	doc.Add("next", "前置节点").IsJoinM2M("FlowPoint")
	doc.Add("prev", "后置节点").IsJoinM2M("FlowPoint")
	doc.Add("user", "关联用户").IsJoinM2M("Emp")
	doc.Add("dept", "关联用户").IsJoinM2M("Department")
	//todo Roles 暂时不考虑加入
	doc.Generate()
}

func Flowing() {

	doc := maker.CreateDoc("Flowing", "审批流程", "flow")
	doc.Add("title", "主题").IsString()
	doc.Add("targetId", "目标ID").IsInt()
	doc.Add("targetType", "目标类型").IsString()

	doc.Add("flow", "审批流程").IsJoinM2O("Flow")
	doc.Add("index", "当前审批节点").IsInt()
	doc.Add("flowCur", "当前审批节点").IsAny("*FLowPoint")
	doc.Add("flows", "审批过程").IsAny("[]*FLowPoint")

	doc.Add("state", "状态").IsString()

	doc.Add("owner", "所有者").IsInt()
	doc.Add("isConfirm", "是否生效").IsBool()
	doc.Add("confirmAt", "生效时间").IsTime()
	doc.Add("isCancel", "是否取消").IsBool()

	doc.Generate()
}
